{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 2.8 – Practice Problem 1\n", "\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2.8.0 – Learning Objectives\n", "\n", "By the end of this section you should be able to:\n", "\n", "1. Understand the Product, effluent and waste streams.\n", "2. Plot a logarithmic plot\n", "3. Convert a logarithmic plot into a linear plot.\n", "4. Roughly asses a plot and its strengths and shortcomings\n", "\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2.8.1 – Problem statement\n", "\n", "A pharmaceutical product, P, is made in a batch reactor. The reactor effluent goes through a purification process to yield a final product stream and a waste stream. The initial charge (feed) to the reactor and the final product are each weighed, and the reactor effluent, final product, and waste stream are each analyzed for P.\n", "\n", "The analyzer calibration is a series of meter readings, corresponding\n", "to known mass fractions of P.\n", "\n", "| xp | 0.08 | 0.16 | 0.25 | 0.45 |\n", "|----|------|------|------|------|\n", "| R | 105 | 160 | 245 | 300 |\n", "\n", "a) Plot the analyzer calibration data on logarithmic axes and determine an expression for ( ).\n", "\n", "The data sheet for one run is shown below:\n", "\n", "Batch: 23601 Date: 10/4\n", "\n", "Mass charged to reactor: 2253 kg\n", "\n", "Mass of purified product: 1239 kg\n", "\n", "Reactor effluent analysis: R= 388\n", "\n", "Final product analysis: R= 583\n", "\n", "Waste stream analysis: R= 140\n", "\n", "b) Calculate the mass fractions of P in all three streams. Then calculate the percentage yield of the purification process,\n", "\n", "$$ \\frac {kg \\space P \\space in \\space final \\space product}{kg \\space P \\space in \\space reactor\\space effluent} *100 $$\n", "\n", "c) You are the engineer in charge of the process. You review the given run sheet and the calculations of part (b), perform additional balance calculations, and realize that all of the recorded run data cannot possibly be correct. State how you know, itemize possible causes of the problem, state\n", "which cause is most likely, and suggest a step to correct it\n", "\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2.8.2 – Answer" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Part a)\n", "slope:1.3645457425169734,y-intercept:-8.839384358742016\n" ] }, { "data": { "image/png": "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\nQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "xp = np.array([0.08,0.16,0.25,0.45])\n", "R = np.array([105,160,245,360])\n", "log_xp= np.log(xp)\n", "log_R = np.log(R)\n", "\n", "fit = np.polyfit(log_R,log_xp,1)\n", "fit_function = np.poly1d(fit) \n", "# fit_function is a function which takes in x and returns an estimate for y\n", "\n", "print(\"Part a)\")\n", "fig=plt.figure()\n", "fig1 = fig.add_subplot(221)\n", "plt.xlabel('R')\n", "plt.ylabel('xp')\n", "plt.title('R and xp')\n", "fig2 = fig.add_subplot(222)\n", "# fig1.plt.plot(log_R,log_xp, 'yo', log_R, fit_function(log_R), '--k')\n", "fig1.plot(log_R,log_xp, 'yo', log_R, fit_function(log_R), '--k')\n", "plt.xlabel('log_R')\n", "plt.ylabel('log_xp')\n", "plt.title('log R compared to log xp+regression')\n", "\n", "fig2.plot(R,xp)\n", "print(\"slope:{},y-intercept:{}\".format(fit[0],fit[1]))\n", "\n", "\n", "\n", "plt.tight_layout(pad=2, w_pad=2, h_pad=1.0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is the logarithmic plot:\n", "\n", "$$ \\log{xp} = 1.36\\log{R} -8.839 $$ \n", "\n", "We want to __linearize__ this logarithmic plot better correlates the data.\n", "Taking the exponent of this function to get an expression of x: \n", "\n", "$$ xp = e^{-8.839}*R^{1.36} $$" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Part b:\n", "Using the derived power function from part a we will fit \n", "each of R values from their respective streams.\n", "\n", "\n", "The mass fractions for the individual streams are: \n", "Effluent: 0.4939505334927244 \n", "Final product: 0.8609648103559938 \n", "Waste stream: 0.12291192587049406\n", "The yield is: 95.85440086928216 percent\n" ] } ], "source": [ "print ( \"Part b:\")\n", "print (\"Using the derived power function from part a we will fit \\neach of R values from their respective streams.\\n\\n\")\n", "\n", "# Remember that fit[] is an array that stores the slope and the y intercept \n", "eff = np.exp(fit[1])*388**fit[0]\n", "final =np.exp(fit[1])*583**fit[0]\n", "waste =np.exp(fit[1])*140**fit[0]\n", "\n", "print (\"The mass fractions for the individual streams are: \\nEffluent: {} \\nFinal product: {} \\nWaste stream: {}\".format(eff,final,waste))\n", "mass_of_P_effluent = 2253 * eff\n", "mass_of_P_product = 1239 *final\n", "P_yield = mass_of_P_product/mass_of_P_effluent*100\n", "\n", "print(\"The yield is: {} percent\".format(P_yield))\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "part C:\n", "Mass of waste: 1014\n", "Mass of P: 124.63269283268097\n" ] } ], "source": [ "print(\"part C:\")\n", "mass_of_P_waste = waste *(2253-1239)\n", "mass_of_waste = 2253-1239\n", "\n", "print( \"Mass of waste: {}\\nMass of P: {}\".format(mass_of_waste, mass_of_P_waste))\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The mass of P in the product stream plus the waste stream should equal to the mass of P in the effluent stream. Let us check if that is true:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mass_of_P_effluent == mass_of_P_product+mass_of_P_waste\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Uh oh" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mass of P in the effluent is: 1112.870551959108\n", "and the mass of the combined stream is: 1191.3680928637573\n" ] } ], "source": [ "print(\"Mass of P in the effluent is: {}\\nand the mass of the combined stream is: {}\".format(mass_of_P_effluent,mass_of_P_waste+mass_of_P_product))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "Errors include:\n", " - few data points \n", " - inaccurate R readings \n", " - inaccurate xp readings \n", " - inaccurate weight readings\n", " - __poor fit of regression__\n", " - inaccurate model (what if the function is not a power fit)\n", " \n", " The error of the mass balance is relatively small. This error is due most likely to the fitted curve from which the R value is interpolated on. The __ideal__ solution is to perform more analyses with more data points." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.1" } }, "nbformat": 4, "nbformat_minor": 2 }